A function that is never called is dead code, and should be removed. Cleaning out dead code decreases the size of the maintained codebase, making
it easier to understand the program and preventing bugs from being introduced.
This rule detects functions that are never referenced from inside a translation unit, and cannot be referenced from the outside.
It also raises on unused protected functions in PHP enumerations. In PHP enumerations private and protected are equivalent because inheritance is
not allowed.
Code examples
Noncompliant code example
class Foo {
private function __construct() {} // Compliant, private empty constructor intentionally used to prevent any direct instantiation of a class.
public static function doSomething() {
$foo = new Foo();
...
}
private function unusedPrivateFunction() {} // Noncompliant
}
enum ExampleEnum {
case FIRST_CASE;
private function unusedPrivateFunction() {} // Noncompliant
protected function unusedProtectedFunction() {} // Noncompliant
}
Compliant solution
class Foo {
private function __construct() {} // Compliant, private empty constructor intentionally used to prevent any direct instantiation of a class.
public static function doSomething() {
$foo = new Foo();
}
}